package com.resou.reader.utils;

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.resou.reader.api.entry.BookContentBean;
import com.resou.reader.api.entry.Result;

import org.json.JSONException;
import org.json.JSONObject;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

/**
 * Created by ${Garrett} on 2018/10/13.
 * Contact me krouky@outlook.com
 */
public class Test {

    public static final String MONKEY =
            "adb shell monkey -v -v -v -s 8888 --throttle 300 --pct-touch 30 --pct-motion 25 --pct-appswitch 25 --pct-majornav 5 --pct-nav 0 --pct-trackball 0 -p com.resou.reader 10000 >D:\\monkey.txt";

    public static final String MONKEY_2 =
            "adb shell monkey -p com.resou.reader -s 5000000 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\\log";

    private static String data = "\u0005\u0010\u0010\u0005\u0002";

    private static String str = "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";

    private static String json = "{\n" +
            "    \"msg\": \"SUCESS\",\n" +
            "    \"code\": 0,\n" +
            "    \"data\": {\n" +
            "        \"novelId\": \"9941308803930503yw\",\n" +
            "        \"isPay\": 1,\n" +
            "        \"cbid\": \"9941308803930503\",\n" +
            "        \"ccid\": \"26798062247663721\",\n" +
            "        \"totalPrice\": 0,\n" +
            "        \"price\": 0,\n" +
            "        \"chapterId\": \"26798062247663721\",\n" +
            "        \"chargeType\": 1,\n" +
            "        \"isTaked\": 1,\n" +
            "        \"content\": \"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\",\n" +
            "        \"isVip\": 0\n" +
            "    }\n" +
            "}";

    public static void main(String[] args) {

//        Result<BookContentBean> result = fromJson(json, BookContentBean.class);
//        System.out.println("result.data.getIsPay == " + result.getData().getIsPay());


//        System.out.println(data);
//        System.out.println("\u0002");
//        System.out.println("\u0002".getBytes());
//        String result = null;
//        try {
//            result = EncryptUtils.decrypt(str, "2615183300000502", "7020079492415488");
//            System.out.println(result);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }

    }

    public static Result fromJson(String json, Class clazz) {
        Gson gson = new Gson();
        Type objectType = type(Result.class, clazz);
        return gson.fromJson(json, objectType);
    }

    public String toJson(Class clazz) {
        Gson gson = new Gson();
        Type objectType = type(Result.class, clazz);
        return gson.toJson(this, objectType);
    }

    static ParameterizedType type(final Class raw, final Type... args) {
        return new ParameterizedType() {
            public Type getRawType() {
                return raw;
            }

            public Type[] getActualTypeArguments() {
                return args;
            }

            public Type getOwnerType() {
                return null;
            }
        };
    }

    public static void test() {
        try {
            String result = EncryptUtils.decrypt(str, "2615183300000502", "7020079492415488");
            result = result.substring(result.length() - 20);
            System.out.println("result:" + result);

            for (int i = 0; i < result.getBytes().length; i++) {
                System.out.println("result[" + i + "] :" + result.getBytes()[i] + "  -------->" + (char) result.getBytes()[i]);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
